home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS16.ADF / Progs / FixHunk.DOC < prev    next >
Text File  |  1989-01-27  |  3KB  |  76 lines

  1.                    FixHunk 2.0            12/06/86
  2.  
  3. FixHunk -- This program will modify executable files to allow them to run
  4. in external memory.
  5.  
  6.   The Amiga loader (since ver 1.1) will try to load both CODE and DATA hunks
  7. into FAST ram if available.  This causes problems with programs that use
  8. data structures that must be in CHIP ram.  Commedore/Amiga provides the
  9. ATOM utility to developers which allows them to modify object code to
  10. specify where hunks will load, but ATOM works only on object modules.
  11.  
  12. What about all the existing programs available only in executable form?
  13.  
  14. FixHunk is the answer.  It works on executable files.  It forces all
  15. DATA and BSS hunks in the file to be loaded into CHIP memory.  CODE hunks
  16. will still load into FAST ram if available.  There is no way to determine
  17. which specific DATA hunk should reside in CHIP ram, so FixHunk places them
  18. all there.
  19.  
  20. Usage:  FixHunk {-vi} filename   where -v produces verbose output
  21.                                        -i enters interactive mode
  22.  
  23. FixHunk modifies the executable file IN PLACE, so don't modify an original
  24. file.  Only modify a copy.
  25.  
  26. ----------------
  27. Changes with version 1.2
  28.  
  29.    Fixed bug with allocation table that sometimes clobbered files with a
  30.       large number of hunks.  Symptom was that the loader complained that
  31.       the file was not a load module.
  32.    Some files (Musicraft for one) consist of a single code hunk.  FixHunk
  33.       version 1.0 and 1.1 would simply complain that it 'could do nothing
  34.       to this file'.  Version 1.2 will now inform the user that the entire
  35.       file MUST be loaded into CHIP ram and ask permission to do so.
  36.       A 'Y' answer will modify the file.  A 'N' answer will exit with no
  37.       changes.
  38.         (I wonder how they make a single hunk file.  Cross development?)
  39.  
  40. Changes with version 1.2a
  41.  
  42.    Changed some message printouts so they only print in the verbose mode.
  43.    Added summary of new hunk allocation on exit.
  44.  
  45. Changes with version 2.0
  46.  
  47.    Will now handle overlays.
  48.  
  49.    Interactive mode added with  -i switch.
  50.       The interactive mode allows you to select where each DATA or BSS hunk
  51.    will load into memory.
  52.       You may select either CHIP, FAST or PUBLIC (either).  You will be
  53.    prompted for each DATA and BSS hunk as follows:
  54.  
  55. Hunk #nnn:  (W-Type)  sssss  [C/P/Q/]?
  56.  
  57.    where:
  58.          nnn    is a hunk counter (for reference purposes only).
  59.          W      is P,C or F.  Shows Where the hunk currently loads.
  60.          Type   is DATA or BSS -- shows hunk type.
  61.          ssss   is the size of the hunk in bytes.
  62.  
  63.    You may reply:
  64.       C or c    to make the hunk load into CHIP ram.
  65.       P or p    to make the hunk public - loads into FAST if available.
  66.       F or f    to make the hunk load into FAST ram only. (not recommended)
  67.       <CR>      leave alone.  Do not modify loader code.
  68.       Q or q    to exit interactive mode for this module.
  69.  
  70.    If you use the Q option to exit the interactive mode, the remaining
  71.    DATA and BSS hunks in the module will not have their loader codes
  72.    modified.  Interactive mode will resume at the next hunk header.
  73.  
  74. D.J.James
  75.  
  76.